Namespace C4F.DevKit.Bluetooth.ObjectExchange

    ''' <summary>
    ''' Specifies the opcode of an ObjectExchange operation. It could be 
    ''' either a Request code or a Response code.
    ''' </summary>
    Public Enum ObjectExchangeOpcode As Byte
        ''' <summary>
        ''' Represents the Continue response code.
        ''' It means that the Object Exchange Service has not rejected the 
        ''' initial part of the request, and the user should continue.
        ''' </summary>
        Continued = 16

        ''' <summary>
        ''' Represents the Continue response code (with final bit set).
        ''' It means that the Object Exchange Service has not rejected the 
        ''' initial part of the request, and the user should continue.
        ''' </summary>
        ContinueFinal = 144

        ''' <summary>
        ''' Represents the Success (OK) response code.
        ''' It means that the request has succeeded.
        ''' </summary>
        Success = 32

        ''' <summary>
        ''' Represents the Success (OK) response code (with final bit set).
        ''' It means that the request has succeeded.
        ''' </summary>
        SuccessFinal = 160

        ''' <summary>
        ''' Represents the Created response code.
        ''' It means that the request has been fulfilled and has resulted in a
        ''' new resource being created.
        ''' </summary>
        Created = 33

        ''' <summary>
        ''' Represents the Created response code (with final bit set).
        ''' It means that the request has been fulfilled and has resulted in a 
        ''' new resource being created.
        ''' </summary>
        CreatedFinal = 161

        ''' <summary>
        ''' Represents the Accepted response code.
        ''' It means the request has been accepted for processing, but the 
        ''' processing has not been completed.
        ''' </summary>
        Accepted = 34

        ''' <summary>
        ''' Represents the Accepted response code (with final bit set).
        ''' It means the request has been accepted for processing, but the 
        ''' processing has not been completed.
        ''' </summary>
        AcceptedFinal = 162

        ''' <summary>
        ''' Represents the Non-Authoritative Information response code.
        ''' It means that the returned headers are not the definitive set as
        ''' available from the origin Object Exchange Service, but are gathered
        ''' from a local or a third-party copy.
        ''' </summary>
        NonAuthoritativeInformation = 35

        ''' <summary>
        ''' Represents the Non-Authoritative Information response code (with 
        ''' final bit set).
        ''' It means that the returned headers are not the definitive set as
        ''' available from the origin Object Exchange Service, but are gathered
        ''' from a local or a third-party copy.
        ''' </summary>
        NonAuthoritativeInformationFinal = 163

        ''' <summary>
        ''' Represents the No Content response code.
        ''' It means that the Object Exchange Service has fulfilled the request
        ''' but does not need to return any output.
        ''' </summary>
        NoContent = 36

        ''' <summary>
        ''' Represents the No Content response code (with final bit set).
        ''' It means that the Object Exchange Service has fulfilled the request
        ''' but does not need to return any output.
        ''' </summary>
        NoContentFinal = 164

        ''' <summary>
        ''' Represents the Reset Content response code.
        ''' It means that the Object Exchange Service has fulfilled the request
        ''' and the client should reset the document view which caused the 
        ''' request to be sent.
        ''' </summary>
        ResetContent = 37

        ''' <summary>
        ''' Represents the Reset Content response code (with final bit set).
        ''' It means that the Object Exchange Service has fulfilled the request
        ''' and the client should reset the document view which caused the 
        ''' request to be sent.
        ''' </summary>
        ResetContentFinal = 165

        ''' <summary>
        ''' Represents the Partial Content response code.
        ''' It means that the server has fulfilled the partial GET request for 
        ''' the resource.
        ''' </summary>
        PartialContent = 38

        ''' <summary>
        ''' Represents the Partial Content response code (with final bit set).
        ''' It means that the server has fulfilled the partial GET request for 
        ''' the resource.
        ''' </summary>
        PartialContentFinal = 166

        ''' <summary>
        ''' Represents the Multiple Choices response code.
        ''' It means that there are several resources that match this request, 
        ''' and the user was redirected to one of them.
        ''' </summary>
        MultipleChoices = 48

        ''' <summary>
        ''' Represents the Multiple Choices response code (with final bit set).
        ''' It means that there are several resources that match this request, 
        ''' and the user was redirected to one of them.
        ''' </summary>
        MultipleChoicesFinal = 176

        ''' <summary>
        ''' Represents the Moved Permanently response code.
        ''' It means that the requested resource has been assigned a new 
        ''' permanent URI and any future references to this resource should use
        ''' the new URI.
        ''' </summary>
        MovedPermanently = 49

        ''' <summary>
        ''' Represents the Moved Permanently response code (with final bit set).
        ''' It means that the requested resource has been assigned a new 
        ''' permanent URI and any future references to this resource should use
        ''' the new URI.
        ''' </summary>
        MovedPermanentlyFinal = 177

        ''' <summary>
        ''' Represents the Moved Temporarily response code.
        ''' It means that the requested resource has temporarily been assigned 
        ''' a new URI.
        ''' </summary>
        MovedTemporarily = 50

        ''' <summary>
        ''' Represents the Moved Temporarily response code (with final bit set).
        ''' It means that the requested resource has temporarily been assigned 
        ''' a new URI.
        ''' </summary>
        MovedTemporarilyFinal = 178

        ''' <summary>
        ''' Represents the See Other response code.
        ''' It means that the response to the request can be found under a 
        ''' different URI and should be retrieved from the new URI.
        ''' </summary>
        SeeOther = 51

        ''' <summary>
        ''' Represents the See Other response code (with final bit set).
        ''' It means that the response to the request can be found under a 
        ''' different URI and should be retrieved from the new URI.
        ''' </summary>
        SeeOtherFinal = 179

        ''' <summary>
        ''' Represents the Not modified response code.
        ''' It means that the document has not been modified since the last 
        ''' request, and the locally cached copy should be used instead.
        ''' </summary>
        NotModified = 52

        ''' <summary>
        ''' Represents the Not modified response code (with final bit set).
        ''' It means that the document has not been modified since the last 
        ''' request, and the locally cached copy should be used instead.
        ''' </summary>
        NotModifiedFinal = 180

        ''' <summary>
        ''' Represents the Use Proxy response code.
        ''' It means that the requested resource must be accessed through a
        ''' proxy.
        ''' </summary>
        UseProxy = 53

        ''' <summary>
        ''' Represents the Use Proxy response code (with final bit set).
        ''' It means that the requested resource must be accessed through a
        ''' proxy.
        ''' </summary>
        UseProxyFinal = 181

        ''' <summary>
        ''' Represents the Bad Request response code.
        ''' It means that the request could not be understood by the Object
        ''' Exchange Service.
        ''' </summary>
        BadRequest = 64

        ''' <summary>
        ''' Represents the Bad Request response code (with final bit set).
        ''' It means that the request could not be understood by the Object
        ''' Exchange Service.
        ''' </summary>
        BadRequestFinal = 192

        ''' <summary>
        ''' Represents the Unauthorized response code.
        ''' It means that the request requires user authentication.
        ''' </summary>
        Unauthorized = 65

        ''' <summary>
        ''' Represents the Unauthorized response code (with final bit set).
        ''' It means that the request requires user authentication.
        ''' </summary>
        UnauthorizedFinal = 193

        ''' <summary>
        ''' Represents the Payment required response code.
        ''' This code is reserved for future use.
        ''' </summary>
        PaymentRequired = 66

        ''' <summary>
        ''' Represents the Payment required response code (with final bit set).
        ''' This code is reserved for future use.
        ''' </summary>
        PaymentRequiredFinal = 194

        ''' <summary>
        ''' Represents the Forbidden response code.
        ''' It means that the server understood the request, but is refusing to
        ''' fulfill it. Authorization will not help.
        ''' </summary>
        Forbidden = 67

        ''' <summary>
        ''' Represents the Forbidden response code (with final bit set).
        ''' It means that the server understood the request, but is refusing to
        ''' fulfill it. Authorization will not help.
        ''' </summary>
        ForbiddenFinal = 195

        ''' <summary>
        ''' Represents the Not Found response code.
        ''' It means that the Object Exchange Service has not found anything
        ''' matching the URI.
        ''' </summary>
        NotFound = 68

        ''' <summary>
        ''' Represents the Not Found response code (with final bit set).
        ''' It means that the Object Exchange Service has not found anything 
        ''' matching the URI.
        ''' </summary>
        NotFoundFinal = 196

        ''' <summary>
        ''' Represents the Method not allowed response code.
        ''' It means that the request method is not allowed.
        ''' </summary>
        MethodNotAllowed = 69

        ''' <summary>
        ''' Represents the Method not allowed response code (with final bit set).
        ''' It means that the request method is not allowed.
        ''' </summary>
        MethodNotAllowedFinal = 197

        ''' <summary>
        ''' Represents the Not Acceptable response code.
        ''' It means that the Object Exchange Service is not capable of handling
        ''' the response according to the user's request.
        ''' </summary>
        NotAcceptable = 70

        ''' <summary>
        ''' Represents the Not Acceptable response code (with final bit set).
        ''' It means that the Object Exchange Service is not capable of handling
        ''' the response according to the user's request.
        ''' </summary>
        NotAcceptableFinal = 198

        ''' <summary>
        ''' Represents the Proxy Authentication required response code.
        ''' This code indicates that the user must first authenticate itself 
        ''' with the proxy.
        ''' </summary>
        ProxyAuthenticationRequired = 71

        ''' <summary>
        ''' Represents the Proxy Authentication required response code (with 
        ''' final bit set).
        ''' This code indicates that the user must first authenticate itself 
        ''' with the proxy.
        ''' </summary>
        ProxyAuthenticationRequiredFinal = 199

        ''' <summary>
        ''' Represents the Request Time Out response code.
        ''' It means that the user did not produce a request within the time 
        ''' that the Object Exchange Service was prepared to wait.
        ''' </summary>
        RequestTimeOut = 72

        ''' <summary>
        ''' Represents the Request Time Out response code (with final bit set).
        ''' It means that the user did not produce a request within the time 
        ''' that the Object Exchange Service was prepared to wait.
        ''' </summary>
        RequestTimeOutFinal = 200

        ''' <summary>
        ''' Represents the Conflict response code.
        ''' It means that the request could not be completed due to a conflict
        ''' with the current state of the resource. 
        ''' </summary>
        Conflict = 73

        ''' <summary>
        ''' Represents the Conflict response code (with final bit set).
        ''' It means that the request could not be completed due to a conflict
        ''' with the current state of the resource. 
        ''' </summary>
        ConflictFinal = 201

        ''' <summary>
        ''' Represents the Gone response code.
        ''' It means that the requested resource is no longer available at the
        ''' server and no forwarding address is known.
        ''' </summary>
        Gone = 74

        ''' <summary>
        ''' Represents the Gone response code (with final bit set).
        ''' It means that the requested resource is no longer available at the
        ''' server and no forwarding address is known.
        ''' </summary>
        GoneFinal = 202

        ''' <summary>
        ''' Represents the Length Required response code.
        ''' It means that the server refuses to accept the request without a 
        ''' defined Content-Length header.
        ''' </summary>
        LengthRequired = 75

        ''' <summary>
        ''' Represents the Length Required response code (with final bit set).
        ''' It means that the server refuses to accept the request without a 
        ''' defined Content-Length header.
        ''' </summary>
        LengthRequiredFinal = 203

        ''' <summary>
        ''' Represents the Precondition failed response code.
        ''' It means that the precondition given in one or more of the header
        ''' fields failed when it was tested on the remote device.
        ''' </summary>
        PreconditionFailed = 76

        ''' <summary>
        ''' Represents the Precondition failed response code (with final bit 
        ''' set).
        ''' It means that the precondition given in one or more of the header
        ''' fields failed when it was tested on the remote device.
        ''' </summary>
        PreconditionFailedFinal = 204

        ''' <summary>
        ''' Represents the Requested entity too large response code.
        ''' It means that the Object Exchange Service is refusing to process a
        ''' request because the request entity is larger than the server is 
        ''' willing or able to process.
        ''' </summary>
        RequestedEntityTooLarge = 77

        ''' <summary>
        ''' Represents the Requested entity too large response code (with final
        ''' bit set).
        ''' It means that the Object Exchange Service is refusing to process a
        ''' request because the request entity is larger than the server is 
        ''' willing or able to process.
        ''' </summary>
        RequestedEntityTooLargeFinal = 205

        ''' <summary>
        ''' Represents the Request URL too large response code.
        ''' It means that the Object Exchange Service is refusing to service the
        ''' request because the requested URL is too long.
        ''' </summary>
        RequestUrlTooLarge = 78

        ''' <summary>
        ''' Represents the Request URL too large response code (with final bit
        ''' set).
        ''' It means that the Object Exchange Service is refusing to service the
        ''' request because the requested URL is too long.
        ''' </summary>
        RequestUrlTooLargeFinal = 206

        ''' <summary>
        ''' Represents the Unsupported media type response code.
        ''' It means that the Object Exchange Service is refusing to service the
        ''' request because the user does not support the response format.
        ''' </summary>
        UnsupportedMediaType = 79

        ''' <summary>
        ''' Represents the Unsupported media type response code (with final bit
        ''' set).
        ''' It means that the Object Exchange Service is refusing to service the
        ''' request because the user does not support the response format.
        ''' </summary>
        UnsupportedMediaTypeFinal = 207

        ''' <summary>
        ''' Represents the Internal Server Error response code.
        ''' It means that the Object Exchange Service encountered an unexpected
        ''' condition which prevented it from fulfilling the request.
        ''' </summary>
        InternalServerError = 80

        ''' <summary>
        ''' Represents the Internal Server Error response code (with final bit
        ''' set).
        ''' It means that the Object Exchange Service encountered an unexpected 
        ''' condition which prevented it from fulfilling the request.
        ''' </summary>
        InternalServerErrorFinal = 208

        ''' <summary>
        ''' Represents the Not Implemented response code.
        ''' It means that the Object Exchange Service does not support the 
        ''' functionality required to fulfill the request.
        ''' </summary>
        NotImplemented = 81

        ''' <summary>
        ''' Represents the Not Implemented response code (with final bit set).
        ''' It means that the Object Exchange Service does not support the
        ''' functionality required to fulfill the request.
        ''' </summary>
        NotImplementedFinal = 209

        ''' <summary>
        ''' Represents the Bad Gateway response code.
        ''' It meanst that the server is a gateway or proxy and received an
        ''' invalid response from the upstream server it accessed in attempting
        ''' to fulfill the request.
        ''' </summary>
        BadGateway = 82

        ''' <summary>
        ''' Represents the Bad Gateway response code (with final bit set).
        ''' It meanst that the server is a gateway or proxy and received an
        ''' invalid response from the upstream server it accessed in attempting
        ''' to fulfill the request.
        ''' </summary>
        BadGatewayFinal = 210

        ''' <summary>
        ''' Represents the Service Unavailable response code.
        ''' It means that the Object Exchange Service is currently unable to 
        ''' handle the request.
        ''' </summary>
        ServiceUnavailable = 83

        ''' <summary>
        ''' Represents the Service Unavailable response code (with final bit 
        ''' set).
        ''' It means that the Object Exchange Service is currently unable to 
        ''' handle the request.
        ''' </summary>
        ServiceUnavailableFinal = 211

        ''' <summary>
        ''' Represents the Gateway Timeout response code.
        ''' This means that the server is a gateway or proxy and did not receive
        ''' a timely response from the upstream server.
        ''' </summary>
        GatewayTimeout = 84

        ''' <summary>
        ''' Represents the Gateway Timeout response code (with final bit set).
        ''' This means that the server is a gateway or proxy and did not receive
        ''' a timely response from the upstream server.
        ''' </summary>
        GatewayTimeoutFinal = 212

        ''' <summary>
        ''' Represents the HTTP version not supported response code.
        ''' It means that the server does not support, or refuses to support, 
        ''' the HTTP protocol version that was used in the request.
        ''' </summary>
        HttpVersionNotSupported = 85

        ''' <summary>
        ''' Represents the HTTP version not supported response code (with final
        ''' bit set).
        ''' It means that the server does not support, or refuses to support, 
        ''' the HTTP protocol version that was used in the request.
        ''' </summary>
        HttpVersionNotSupportedFinal = 213

        ''' <summary>
        ''' Represents the Database Full response code.
        ''' </summary>
        DatabaseFull = 96

        ''' <summary>
        ''' Represents the Database Full response code (with final bit set).
        ''' </summary>
        DatabaseFullFinal = 224

        ''' <summary>
        ''' Represents the Database Locked response code.
        ''' </summary>
        DatabaseLocked = 97

        ''' <summary>
        ''' Represents the Database Locked response code (with final bit set).
        ''' </summary>
        DatabaseLockedFinal = 225

        ''' <summary>
        ''' CONNECT request is used to initiate the connection with a remote
        ''' device and setup the basic expectations of each side of the link.
        ''' </summary>
        Connect = 128

        ''' <summary>
        ''' DISCONNECT request signals the end of the Object Exchange session.
        ''' </summary>
        Disconnect = 129

        ''' <summary>
        ''' PUT request, with final bit not set, sends one chunk of an object
        ''' from the user to the Object Exchange Service. The final bit is not
        ''' set to indicate that this is not the last chunk of the object.
        ''' </summary>
        Put = 2

        ''' <summary>
        ''' PUT request, with final bit set, sends one object or the final chunk
        ''' of an object from the user to the Object Exchange Service. The final
        ''' bit set indicates that this is the last chunk of the object.
        ''' </summary>
        PutFinal = 130

        ''' <summary>
        ''' GET request, with final bit not set, requests the Object Exchange 
        ''' Service to return an object to the user. The final bit is not set
        ''' to indicate that this is not the last packet containing headers 
        ''' describing the item being requested.
        ''' </summary>
        GetNoFinal = 3

        ''' <summary>
        ''' GET request, with final bit set, requests the Object Exchange
        ''' Service to return an object to the user. The final bit set 
        ''' indicates that this is the last packet containing headers 
        ''' describing the item being requested and the request phase of 
        ''' the GET is complete.
        ''' </summary>
        GetFinal = 131

        ''' <summary>
        ''' The SETPATH request is used to request the Object Exchange Service
        ''' to set the “current folder” on the remote device in order to enable
        ''' transfers that need additional path information. SETPATH is also 
        ''' used to create the folder structure on the remote device.
        ''' </summary>
        SetPath = 133

        ''' <summary>
        ''' ABORT request is used when the user decides to terminate a multi-
        ''' packet operation (such as PUT) before it would normally end.
        ''' </summary>
        Abort = 255
    End Enum
End Namespace
